namespace DynamicExpresso.Parsing;

/// <summary>
/// 操作符号
/// </summary>
internal enum TokenId
{
	/// <summary>
	/// 未知
	/// </summary>
	Unknown,

	/// <summary>
	/// 结束
	/// </summary>
	End,

	/// <summary>
	/// 标识符
	/// </summary>
	Identifier,

	/// <summary>
	/// ' \'
	/// </summary>
	CharLiteral,

	/// <summary>
	/// " \"
	/// </summary>
	StringLiteral,

	/// <summary>
	/// 整数
	/// </summary>
	IntegerLiteral,

	/// <summary>
	/// 实数
	/// </summary>
	RealLiteral,

	/// <summary>
	/// !
	/// </summary>
	Exclamation,

	/// <summary>
	/// %
	/// </summary>
	Percent,

	/// <summary>
	/// (
	/// </summary>
	OpenParen,

	/// <summary>
	/// )
	/// </summary>
	CloseParen,

	/// <summary>
	/// *
	/// </summary>
	Asterisk,

	/// <summary>
	/// +
	/// </summary>
	Plus,

	/// <summary>
	/// ,
	/// </summary>
	Comma,

	/// <summary>
	/// -
	/// </summary>
	Minus,

	/// <summary>
	/// ~
	/// </summary>
	Tilde,

	/// <summary>
	/// .
	/// </summary>
	Dot,

	/// <summary>
	/// ??
	/// </summary>
	QuestionQuestion,

	/// <summary>
	/// /
	/// </summary>
	Slash,

	/// <summary>
	/// :
	/// </summary>
	Colon,

	/// <summary>
	/// <
	/// </summary>
	LessThan,

	/// <summary>
	/// >
	/// </summary>
	GreaterThan,

	/// <summary>
	/// ?
	/// </summary>
	Question,

	/// <summary>
	/// [
	/// </summary>
	OpenBracket,

	/// <summary>
	/// ]
	/// </summary>
	CloseBracket,

	/// <summary>
	/// !=
	/// </summary>
	ExclamationEqual,

	/// <summary>
	/// &
	/// </summary>
	Amphersand,

	/// <summary>
	/// &&
	/// </summary>
	DoubleAmphersand,

	/// <summary>
	/// <=
	/// </summary>
	LessThanEqual,

	/// <summary>
	/// ==
	/// </summary>
	DoubleEqual,

	/// <summary>
	/// >=
	/// </summary>
	GreaterThanEqual,

	/// <summary>
	/// |
	/// </summary>
	Bar,

	/// <summary>
	/// ||
	/// </summary>
	DoubleBar,

	/// <summary>
	/// =
	/// </summary>
	Equal,

	/// <summary>
	/// ^
	/// </summary>
	Caret,

	/// <summary>
	/// {
	/// </summary>
	OpenCurlyBracket,

	/// <summary>
	/// }
	/// </summary>
	CloseCurlyBracket,

	/// <summary>
	/// >
	/// </summary>
	LambdaArrow,
}
